package link.model;

import android.support.annotation.Nullable;
import android.text.TextUtils;
import java.io.Serializable;
import java.util.List;

/**
 * 创建时间：2016年08月30日18:29 <br>
 * 作者：fuchaoyang <br>
 * 描述：系统联系人
 */
public class ContactInfo implements Serializable {

  private static final long serialVersionUID = -8868544550110012459L;
  /**
   * 联系人id
   */
  public String id;

  /**
   * 北京
   */
  public String name;
  /**
   * BEIJING
   */
  public String pinyin;
  /**
   * BJ
   */
  public String jianpin;

  @Nullable public List<String> phones;

  @Override public boolean equals(Object o) {
    return TextUtils.equals(this.id, ((ContactInfo) o).id);
  }

  /**
   * 模糊查询
   */
  public boolean fuzzyQuery(String str) {
    if (TextUtils.isEmpty(str)) return true;
    str = str.toUpperCase();

    // 姓名匹配，将name转为大写
    if (!TextUtils.isEmpty(name) && name.toUpperCase().contains(str)) {
      return true;
    }
    // 拼音匹配
    if (!TextUtils.isEmpty(pinyin) && (pinyin.startsWith(str))) {
      return true;
    }
    // 拼音首字母匹配
    if (!TextUtils.isEmpty(jianpin) && jianpin.contains(str)) {
      return true;
    }
    // 电话号码匹配
    if (phones != null) {
      for (String phone : phones) {
        if (!TextUtils.isEmpty(phone) && phone.startsWith(str)) {
          return true;
        }
      }
    }
    return false;
  }

  @Override public String toString() {
    return "CustomerInfo{" +
        "name='" + name + '\'' +
        ", phones=" + phones +
        '}';
  }
}
